01-R Markdown历史和工作原理

梁昊

02/04/2021

R Markdown 的历史

时间节点

R Markdown始于2012年,配合knitr package进行格式转化

2014年rmarkdown package 诞生了

经过6年多的发展,R Markdown已经形成完整生态,功能越发强大

R Markdown 关键人物

R Markdown的工作原理

R Markdown站在巨人的肩膀上

R Markdown 主要依赖两个包来运行和输出(knitr and Pandoc)

  • R Markdown stands on the shoulders of knitr and Pandoc.

安装rmarkdown以后,会自动集成knitr 和 Pandoc

R Markdown基础包安装

html和pdf是R Markdown输出最基础的格式,html相对简单

pdf格式的输出需要TeX,TeX Live、MiKTeX等(~5Gb大小)TeX工具包的安装是繁重而痛苦

tinytex告别了繁琐的安装

install.packages('rmarkdown')
install.packages('tinytex')
tinytex::tlmgr_repo('https://mirrors.tuna.tsinghua.edu.cn/CTAN/') #国内镜像
tinytex::install_tinytex()  # install TinyTeX
tinytex::is_tinytex() # 安装成功返回TURE,必须检测

点击knit按钮时发生了什么-1

Rmd文档点击knit按钮时

点击knit按钮时发生了什么-2

点击按钮时执行了rmarkdown::render()命令,pdf生成需要TeX

R Markdown 文档的结构

R Markdown主要由三个部分组成

来源:https://alexd106.github.io/intro2R/Rmarkdown_intro.html

R Markdown学术应用场景

主要应用场景及对应的R包

Rstudio的安装、设置和包管理

Rstudio的安装和设置

本教程Rstudio版本必须为1.4,R的版本必须为4.0+,建议都安装最新版本

建议安装时,错误提示等均选择英文,不安装中文提示包

Rstudio CRAN镜像选为国内,速度快

Rstudio Python引擎设定

Rstudio pdf 输出引擎设定

包管理和需要安装的包

关于包管理,建议采用命令行

必须要安装的包(之前已安装了rmarkdown和tinytex):

install.packages(c("tidyverse", "pacman", "rticles", "pagedown", "bookdown", "reticulate", "kableExtra") )

加载包(library)

library为默认加载命令,只能加载一个包

pacman安装好以后,可以一次加载多个包,强烈推荐

关于“::”,该命令为在需要用某个函数时临时直接加载包,不用事先library,这样可以减轻系统负担。比如pacman::p_load命令就是在未加载pacman这个包时,使用了其p_load命令。

library(tidyverse)
library(reticulate)
library(kableExtra)
# OR
pacman::p_load(tidyverse, reticulate, kableExtra) # 如果其中有包未安装,则该条命令会安装并加载它

课后作业

课后作业

安装好rmarkdown和tinytex包